package com.open.anim.recyanim;

/**
 * 动画枚举工厂生成器
 */
public enum  ItemAnimatorFactory {

    ScaleInLeft("ScaleInLeft", new ScaleInLeftAnimator()),
    SlideInDown("SlideInDown", new SlideInDownAnimator()),
    SlideInLeft("SlideInLeft", new SlideInLeftAnimator()),
    Landing("Landing", new LandingAnimator()),
    FlipInTopX("FlipInTopX", new FlipInTopXAnimator());

    private String type;
    private BaseItemAnimator baseItemAnimator;

    ItemAnimatorFactory(String type, BaseItemAnimator baseItemAnimator) {
        this.type = type;
        this.baseItemAnimator = baseItemAnimator;
    }

    public String getType() {
        return type;
    }

    public BaseItemAnimator getItemAnimator() {
        return baseItemAnimator;
    }

    public static BaseItemAnimator getItemAnimatorByType(String type) {
        for (ItemAnimatorFactory itemAnimatorFactory : values()) {
            if (itemAnimatorFactory.getType().equals(type)) {
                return itemAnimatorFactory.getItemAnimator();
            }
        }
        return new ScaleInAnimator();
    }

}
